Объект App DocumentObject, или формально App::DocumentObject
, это базовый класс всех классов объектов, поддерживаемых в документе.
В общих словах, "DocumentObject" это любая "вещь", которая может появиться в Дереве проекта, и которая сохраняется или восстанавливается при открытии документа.
Дерево проекта, показывающее различные объекты в документе. Каждый из них является «объектом документа», в конечном итоге производным от базового класса App::DocumentObject
.
Упрощённая схема взаимосвязей между основными объектами в FreeCAD
App DocumentObject - это внутренний класс, поэтому его нельзя создать из графического интерфейса, и он не предназначен для самостоятельного использования. Он лишь определяет базовое поведение и свойства всех объектов в программе.
Ниже приведены некоторые из наиболее важных объектов DocumentObjects:
Все типы свойств, которыми могут обладать объекты скриптов, смотри в разделе Свойства.
Вот основные свойства, которыми обладают практически все объекты. Доступ к этим свойствам можно получить из консоли Python.
String (Строка)
): редактируемое пользователем имя этого объекта представляет собой произвольную строку UTF8. По умолчанию оно совпадает с Name
.String (Строка)
): более длинное, редактируемое пользователем описание этого объекта представляет собой произвольную строку UTF8, которая может включать переход на новую строку. По умолчанию это пустая строка Template:Значение.ExpressionEngine
): список выражений.Bool (Булево)
): отображать объект или нет.For derived objects, only ДанныеLabel will be listed in the property editor by default. The other properties will be hidden.
See also: FreeCAD Scripting Basics and scripted objects.
See Part Feature for the general information on adding objects to the document.
A DocumentObject is created with the addObject()
method of the document. However, in general, there is no need to create this object manually. It is usually better to subclass one of the more complex classes, for example, App FeaturePython, App GeoFeature, Part Feature, Part Part2DObject, etc.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::DocumentObject", "Name")
obj.Label = "Custom label"